#include <stdio.h>
#include <string.h>

void removeExtraSpace(char *str)
{
    int pos = 0;
    int length = strlen(str);
    /* 1.找到第一个不为空格的位置 */
    int idx = 0;
    while (str[idx] == ' ') /*什么时候退出循环?第一个不为空格的位置.*/
    {
        idx++;
    }

    for (; idx < length; idx++)
    {
        if (str[idx] != ' ') // 判断如果不为空格那就赋值
        {
            str[pos] = str[idx];
            pos++;
        }

        // 判断如果下一个不为空格或者不是'\0'那就赋值一个空格来保证有谱一个空格
        else if (str[idx + 1] != ' ' && str[idx + 1] != '\0')
        {
            str[pos] = ' ';
            pos++;
        }
        // 如果判断是空格那就不管继续往下走
    }
    str[pos] = '\0';
}

int main()
{
    char buffer[] = "welcome  to   nan    vj    ing.   ";

    removeExtraSpace(buffer);

    printf("%s\n", buffer);
    return 0;
}
